I. Field of the Disclosure
The technology of the disclosure relates generally to memory management.
II. Background
Mobile communication devices have become increasingly common in current society. The prevalence of these mobile communication devices is driven in part by the many functions that are now enabled on such devices. Increased processing capabilities in such devices means that mobile communication devices have evolved from being purely communication tools into sophisticated mobile multimedia centers, thus enabling enhanced user experiences.
Data processing elements (e.g., application processors, graphic processors, etc.) in mobile communication devices often store a variety of system and application-specific data in a system memory, such as dynamic random access memory (DRAM). Applications running in a mobile communication device rely on application processors to access the system memory. For example, when an application needs to read data from the system memory for transmission through a high-speed input/output (I/O) circuit, one or more application processors may be fully occupied for the entire duration of the read operation. Likewise, when the application needs to write data received from the high-speed I/O circuit to the system memory, the one or more application processors may be fully occupied for the entire duration of the write operation. As a result, the one or more application processors may become unavailable to perform other tasks in the mobile communication device, thus leading to compromised performance and user experience.
Direct memory access (DMA) technology, which allows a hardware element (e.g., the high-speed I/O circuit) to access the system memory independently of the application processor, is widely employed in mobile communication devices to help mitigate the processing bottleneck. With DMA, when the application needs to read a block of data from the system memory for transmission through the high-speed I/O circuit, the application processor initiates the block data transfer between the system memory and the high-speed I/O circuit and then switches to serving other tasks in the mobile communication device. A DMA management element, such as a memory management unit (MMU), in the mobile communication device then carries out the block data transfer on behalf of the application processor and generates an interrupt to notify the application processor only when the block data transfer is completed. Commercial needs dictate continued improvement in performance, and a more efficient DMA management unit may assist in improving overall performance and user experience.